#pragma once
#include <cv.h>
#include <cvaux.h>
#include <cxcore.h>
#include <highgui.h>


// Defines
#define MIN_LENGTH 10
#define MIN_AREA 100

#define TEMPORAL_SMOOTH_FRAMES 5

ref class SilhouetteTracker
{
public:
	// Constructor
	SilhouetteTracker(void);
	
	// Deconstructor
	~SilhouetteTracker(void);

	// Starts the tracking
	void SilhouetteTracker::startTracking(void);

	// Track next frame
	void SilhouetteTracker::DoTrack(void);

	// Get current foreground
	IplImage* SilhouetteTracker::GetForeground();

	// Get current raw image
	IplImage* SilhouetteTracker::GetRaw();

	// Returns if the user wants to quit
	bool SilhouetteTracker::Abort(void);

	// Load's a avi instead of a cam as video source
	void SilhouetteTracker::UseRawAVIInstead(char* file);

	// Recalibrates the background subtraction
	void SilhouetteTracker::recalibrateTracking(void);


private:

};
